home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / c_lang / pccstdio.lzh / SRC.LZH / LCTOA.C < prev    next >
Encoding:
C/C++ Source or Header  |  1984-08-09  |  680 b   |  34 lines

  1. /*    lctoa.c - long to ASCII conversion with ',' separators.
  2.     (C) Copyright 1984 Gregory R. Mansfield - All Rights Reserved.
  3.     G. R. Mansfield.  84/07/03.
  4.     Ver 1.0-4809.
  5. */
  6.  
  7. lctoa(n, s) /* convert n to characters in s with ',' separators */
  8. long n;
  9. char *s;
  10. {
  11.     char c, *p;
  12.     int i;
  13.  
  14.     if (n < 0) {    /* record sign */
  15.         *s++ = '-';
  16.         n = -n;    /* make n positive */
  17.     }
  18.     p = s;
  19.     i = 0;
  20.     do {    /* generate digits in reverse order */
  21.         if (i++ == 3) {
  22.             i = 1;
  23.             *p++ = ',';
  24.         }
  25.         *p++ = n % 10L + '0';    /* get next digit */
  26.     } while ((n /= 10L) > 0L);    /* delete it */
  27.     *p = '\0';
  28.     while (p > s) {    /* reverse string */
  29.         c = *s;
  30.         *s++ = *--p;
  31.         *p = c;
  32.     }
  33. }
  34.